/* Welcome ------------------------ */

.about {
    --about-space: 4rem;
  
    position: absolute;
    display: flex;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    background-color: hsl(0,0%,98%);
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transform: scale(1.1);
    transition: visibility 0s .12s linear , opacity .12s ease-in, transform .12s ease-in;
  }
  .about.is-shown {
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
    transform: scale(1);
    transition: visibility 0s 0s linear , opacity .24s ease-out, transform .24s ease-out;
  }
  
  .about-wrapper {
    margin: auto;
  }
  
  .about-header {
    padding: var(--about-space) 0;
    border-bottom: 1px solid hsl(0,0%,88%);
  }
  
  .about-logo {
    display: block;
    margin: 0 auto;
    width: 320px; /* TODO: Adjust asset to this size */
    max-width: 100%;
  }
  
  .about-sections {
    max-width: 680px;
    padding: 0 var(--about-space);
  }
  
  .about-section {
    margin: var(--about-space) 0;
  }
  
  .about h2 {
    text-align: center;
    margin: 0 0 1em 0;
    font-size: 1.5em;
    color: hsl(0, 0%, 55%);
  }
  
  .about .about-code h2 {
    color: hsl(330, 65%, 55%);
  }
  
  .about .play-along h2 {
    color: hsl(222, 53%, 50%);
  }
  
  .about-button {
    display: block;
    margin: 0 auto;
    padding: .4em 1.2em;
    font: inherit;
    font-size: 1.6em;
    color: inherit;
    border: 2px solid;
    border-radius: 4px;
    background-color: transparent;
  }
  .about-button:focus {
    outline: none;
    border-color: hsl(0,0%,88%);
  }
  
  footer.about-section {
    text-align: center;
  }
  
  .rainbow-button-wrapper {
    --rainbow-button-width: 170px;
    --rainbow-button-height: 50px;
    --rainbow-button-width-inner: 164px;
    --rainbow-button-height-inner: 44px;
    --rainbow-color-1: hsl(116, 30%, 36%);
    --rainbow-color-2: hsl(194, 60%, 36%);
    --rainbow-color-3: hsl(222, 53%, 50%);
    --rainbow-color-4: hsl(285, 47%, 46%);
    --rainbow-color-5: hsl(330, 65%, 48%);
    --rainbow-color-6: hsl(32, 79%, 49%);
    --rainbow-color-7: hsl(53, 84%, 50%);
  
    display: inline-block;
    width: var(--rainbow-button-width);
    height: var(--rainbow-button-height);
    position: relative;
    overflow: hidden;
    border-radius: 5px;
  }
  
  .rainbow-button-wrapper:before {
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 600px;
    height: var(--rainbow-button-height);
    background: #CCC;
    background: linear-gradient(to right, var(--rainbow-color-1) 0%, var(--rainbow-color-2) 14%, var(--rainbow-color-3) 28%, var(--rainbow-color-4) 42%, var(--rainbow-color-5) 56%, var(--rainbow-color-6) 70%, var(--rainbow-color-7) 84%, var(--rainbow-color-1) 100%);
    background-position: -200px 0;
    transition: all 0.5s;
    content: "";
  }
  
  .rainbow-button-wrapper button {
    display: block;
    width: var(--rainbow-button-width-inner);
    height: var(--rainbow-button-height-inner);
    position: absolute;
    z-index: 3;
    top: 3px;
    left: 3px;
    border: none;
    background: white;
    color: black;
    font-size: 1.3rem;
  }
  
  .rainbow-button-wrapper:hover:before {
    background-position: 200px 0;
  }
  
  @media (min-width: 940px) {
    .about-header {
      align-self: center;
      padding: var(--about-space);
      border-right: 1px solid hsl(0,0%,88%);
      border-bottom: none;
    }
    .about-wrapper {
      display: flex;
    }
  }
  